package com.zhongli.devplatform.utils.excel;

/**
 * @author WuXiCheng
 * @version 1.0
 * @date: 2020/7/24 17:33
 */

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.zhongli.devplatform.enums.EnumMessage;

import java.lang.reflect.Method;

/**统一处理所有 （枚举类需要implements EnumMessage），通过反射将枚举全部转为json数组。
 * */
public class EnumToJsonArrayUtil {

    /**静态初始化块*/
    static {

    }

    /**
     *将枚举全部转化成jsonArray
     * @return
     */
    public static <T extends Enum> JSONArray toJsonArray(Class<T> clazz){
        JSONArray jsonArray = new JSONArray();;
        String jsonStr = "";
        try {
            Method method = clazz.getMethod("values");
            EnumMessage inter[] = (EnumMessage[]) method.invoke(null, null);
            for (EnumMessage enumMessage : inter) {
                JSONObject object = new JSONObject();
                object.put("code", enumMessage.getCode());
                object.put("message", enumMessage.getMessage());
                jsonArray.add(object);
            }
            jsonStr = jsonArray.toString();
        }catch (Exception e){
            e.printStackTrace();
        }
        return JSONArray.parseArray(jsonStr);
    }

}
